package edu.itcs6112.za.web.model;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import edu.itcs6112.za.web.form.CartItem;

public class ShoppingCart {
	
	private Map<Long, CartItem> contents;
	
	public ShoppingCart(){
		contents = new HashMap<Long, CartItem>();
	}
	
	public void addItem(CartItem item){
		if(contents.containsKey(item.getItemNumber())){
			CartItem cartItem = contents.get(item.getItemNumber());
			cartItem.setQuantity(cartItem.getQuantity() + item.getQuantity());
			contents.put(cartItem.getItemNumber(), cartItem);
		}
		else{
			contents.put(item.getItemNumber(), item);
		}
	}
	
	public List<CartItem> getItems(){
		List<CartItem> cartItems = new ArrayList<CartItem>();
		for(Long itemId : contents.keySet()){
			cartItems.add(contents.get(itemId));
		}
		return cartItems;
	}
	
	public void removeItem(Long itemId){
		if(contents.containsKey(itemId)){
			CartItem cartItem = contents.get(itemId);
			cartItem.setQuantity(cartItem.getQuantity() - 1);
			contents.put(cartItem.getItemNumber(), cartItem);
		}
	}
}
